草庐IT

c++ - 实现安全的 nullptr

全部标签

c++ - 在 Windows 上重定向标准输出/标准错误

我有一个WindowsGUI应用程序,它使用第三方库将调试/错误信息打印到stdout/stderr。我找到了许多将它们重定向到我的日志文件的解决方案。但是4个中只有1.5个按预期工作。我在WinXPSP332位上使用VS2008SP1。我没有包括错误处理,但没有调用返回错误。//Firstone:SetStdHandle(STD_OUTPUT_HANDLE,(HANDLE)_get_osfhandle(_fileno(log_file.get_FILE())));SetStdHandle(STD_ERROR_HANDLE,(HANDLE)_get_osfhandle(_fileno(

c - 使用DWM后按钮文字变透明

我正在使用纯C,这是代码:创建按钮:HWNDhBTN=CreateWindow(_T("button"),_T("AAasfasdfdsa"),WS_CHILD|WS_VISIBLE|BS_DEFPUSHBUTTON,10,10,100,100,hWnd,NULL,hInst,NULL);调用DWM函数:DWM_BLURBEHINDbb={0};bb.dwFlags=DWM_BB_ENABLE;bb.fEnable=true;bb.hRgnBlur=NULL;MARGINSmargins={-1,-1,-1,-1};DwmExtendFrameIntoClientArea(hWnd,&

c++ - 如何正确地将命令行参数传递给 Windows 应用程序?

将命令行参数传递给Linux中的应用程序与exec*命令配合使用效果很好,您可以清楚地单独传递每个参数。如果想要控制标准管道,那么在Windows上使用相同的功能这样做不是一种选择。因为这些函数是基于CreateProcess()的,所以aresomeclearrules关于如何转义双引号等特殊字符。遗憾的是,这只有在被调用的应用程序通过main()、wmain()或CommandLineToArgvW()检索其命令行参数时才能正常工作。但是,如果被调用的应用程序通过WinMain()、wWinMain()、GetCommandLineA()或GetCommandLineW()获取这些

c - 如何从 Visual Studio C 编译器获得更有用的警告?

我正在使用VisualStudio2015C编译器,我发现它没有警告。例如,此代码在没有警告或错误的情况下编译(使用-Wall选项):#includeintmain(void){inti=2;free(&i);//Thecompilershouldtellme"Youaretryingtofreesomethingnotontheheap".return0;}-W4或-Wall没有检测到很多导致崩溃或/和未定义行为的事情,我还有其他选择吗可以用来警告这些错误吗?我知道我可以使用其他编译器,但我听说当您面向Windows平台时,VisualStudio附带的编译器更好。

c - 当 DPI 设置为 150% 时关闭 Aero (Windows 7),全屏窗口仅覆盖任务栏

我有一个相当标准的C++程序,我在其中创建了一个全屏窗口(带有两个子窗口)。在我的Windows10开发计算机上,此窗口会填满整个屏幕并覆盖任务栏。在Windows7上,它不覆盖任务栏。经过一些试验,似乎如果我关闭Aero,程序将覆盖任务栏!我还创建了一个快速的C#/WPF应用程序,无论Aero的状态如何,该应用程序都能够覆盖任务栏。我是否缺少窗口消息或窗口的创建选项?这是定位和创建窗口的代码//Getahandletotheprimarymonitor,whichbydefinitionhasitstop//leftcornerat(0,0).constPOINTptZero={0,

windows - 实现 DebugExtensionProvideValue 会破坏 WinDbg 内部状态?

我正在实现DebugExtensionProvideValue在我的扩展中,这样我就可以提供自定义伪寄存器。它在CDB中完美运行,最初在WinDbg中运行良好,但在停止调试并打开一个新的可执行文件后,发生了一些事情,WinDbg最终处于一种奇怪的不可用状态。当您触发问题时,WinDbg将此消息打印到命令窗口:Unabletodelivercallback,3131发生这种情况后,WinDbg似乎会在命令窗口中打印两次所有输出!我的扩展代码很简单:EXTERN_CHRESULTCALLBACKDebugExtensionProvideValue(PDEBUG_CLIENTClient,U

c - ^Z 字符是否写入文件?

这个问题在这里已经有了答案:EOFinWindowscommandpromptdoesn'tterminateinputstream(2个答案)关闭6年前。我正在使用以下程序将文本写入文件。#include#includeintmain(){intch;FILE*fp;fp=fopen("myfile.txt","w");if(fp==NULL){printf("Erroropeningfile\n");exit(1);}printf("PressCtrl+Dtostop\n\n");printf("Entertext:");while((ch=getchar())!=EOF){fpu

C# 存储数字的安全方式?

我为Windows7构建了自己的锁屏。因此,它使用密码来解锁自己。所以我决定只存储密码字符串的哈希码(例如,我调用字符串“Password123”的GetHashCode方法)。现在我有存储号码的任务。我将如何以最安全的方式执行此操作?还是使用密码字符串的哈希码是最好的方法?我的目标是阻止某人访问此号码,并最终阻止某人发现密码。以下是我到目前为止想到的一些可能的方法:将密码的哈希码与主程序一起存储在未加密的纯文本文件中。将密码的哈希码与主程序一起存储在加密的文本文件中(这引入了存储和获取合适的加密key的问题)将密码的哈希码存储在一个小型编译的C#库中。如上操作,但对生成的程序集进行加

c - 是否有关于多字节字符串转换为 unicode wstring 的快速实现?

在我的项目中,我采用Aho-Corasick算法在服务器端做了一些消息过滤模式,服务器得到的消息是多字节字符串。但是经过多次测试发现瓶颈是mulitbytestring和unicodewstring之间的转换。我现在用的是一对mbstowcs_s和wcstombs_s,占了整个模式将近95%的时间成本。另外,我试过MultiByteToWideChar/WideCharToMultiByte,它得到了同样的结果。所以我想知道是否还有其他更有效的方法来完成这项工作?我的项目是用VS2005搭建的,转换后的字符串会包含汉字。非常感谢。 最佳答案

c++ - 获取文件属性(例如只读)和安全属性(例如读取拒绝写入拒绝)的最佳做法是什么?

我正在使用C++MFC、Windows进行编程。在windowsXP、Vista和Win7中获取文件属性(例如只读)和安全属性(例如读拒绝写拒绝)的最佳做法是什么?修改文件属性和安全属性的最佳做法是什么?非常感谢!!! 最佳答案 请检查C++-Howtosetfilepermissions(crossplatform)?另外,看这里WindowsAccessControl 关于c++-获取文件属性(例如只读)和安全属性(例如读取拒绝写入拒绝)的最佳做法是什么?,我们在StackOverf